cmake_minimum_required(VERSION 3.5)

project(cotton_trt)

set(CMAKE_CXX_STANDARD 14)

# cuda
find_package(CUDA REQUIRED)
message(STATUS "Find CUDA include at ${CUDA_INCLUDE_DIRS}")
message(STATUS "Find CUDA libraries: ${CUDA_LIBRARIES}")

# TensorRT
set(TENSOR_ROOT /home/xag/TensorRT-7.0.0.11/)
find_path(TENSORRT_INCLUDE_DIR NvInfer.h
        HINTS ${TENSORRT_ROOT} PATH_SUFFIXES include/)
message(STATUS "Found TensorRT headers at ${TENSORRT_INCLUDE_DIR}")
find_library(TENSORRT_LIBRARY_INFER nvinfer
        HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_ONNXPARSER nvonnxparser
        HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
set(TENSORRT_LIBRARY ${TENSORRT_LIBRARY_INFER} ${TENSORRT_LIBRARY_ONNXPARSER})
message(STATUS "Find TensorRT libs: ${TENSORRT_LIBRARY}")

# OpenCV
find_package(OpenCV REQUIRED)
message(STATUS "Find OpenCV include at ${OpenCV_INCLUDE_DIRS}")
message(STATUS "Find OpenCV libraries: ${OpenCV_LIBRARIES}")

# realsense2
set(CMAKE_BUILD_TYPE Debug )
set(DEPENDENCIES realsense2 )

## 链接和调用动态库(.so)
# 指定头文件目录路径
set(INC_COTTON /home/xag/code/trt_code/dynamic_link_test/include)
# 指定头文件目录
#include_directories(${INC_DIR})
# 或者直接使用头文件目录的绝对路径 include_directories("/home/xag/code/trt_code/dynamic_link_test/include")
# 链接库，需要动态库的绝对路径
link_libraries("/home/xag/code/trt_code/dynamic_link_test/library/libcotton_detect.so")

# 指定相关的头文件路径
include_directories(${CUDA_INCLUDE_DIRS} ${TENSORRT_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS} ${INC_COTTON})

add_executable(cotton_t main.cpp)
target_link_libraries(cotton_t ${DEPENDENCIES} ${OpenCV_LIBRARIES} ${CUDA_LIBRARIES} ${TENSORRT_LIBRARY})


















